Security
JWTAuthorizer
Cluster-wide configuration. Mirrors the subset of node configuration sections that are shared across cluster members. Use the /cluster/{clusterFQDN}/config/* endpoints to modify individual sections rather than editing this object directly.
Trustgrid Resource Name for this cluster. Format: tgrn:tg::nodes:cluster/{fqdn}
Example:"tgrn:tg::nodes:cluster/mycluster.myorg.trustgrid.io"
- Mock serverhttps://apidocs.trustgrid.io/_mock/cluster/{clusterFQDN}
- https://api.trustgrid.iohttps://api.trustgrid.io/cluster/{clusterFQDN}
curl -i -X PUT \
'https://apidocs.trustgrid.io/_mock/cluster/{clusterFQDN}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"config": {
"exec": {
"commands": [
{
"capabilities": {
"addCaps": [
"string"
],
"dropCaps": [
"string"
]
},
"healthCheck": {
"command": "/bin/sh -c '\''exit 0'\''",
"interval": 10,
"retries": 10,
"startPeriod": 10,
"timeout": 10
},
"interfaces": [
{
"dest": "10.10.14.0/24",
"name": "eth0",
"uid": "7da978ea-3d64-470a-8494-20ca4981e184"
}
],
"limits": {
"cpuMax": 80,
"ioRbps": 80,
"ioRiops": 80,
"ioWbps": 80,
"ioWiops": 80,
"legacyMemHigh": 80,
"legacyMemMax": 80,
"limits": [
{}
],
"memHigh": 80,
"memMax": 80
},
"logging": {
"maxFileSize": 10,
"numFiles": 10
},
"mounts": [
{
"dest": "/myvolume",
"encrypted": true,
"mountType": "volume",
"source": "myvolume",
"uid": "3ae09040-396e-4a7a-a3b7-dfb99a241685"
}
],
"portMappings": [
{
"containerPort": "8080",
"hostPort": "8080",
"iface": "eth0",
"protocol": "tcp",
"uid": "d0522f1b-cc1a-4aad-bb46-99304a5e152d"
}
],
"variables": [
{
"name": "myvar",
"value": "myvalue"
}
],
"virtualNetworks": [
{
"allowOutbound": true,
"ip": "10.10.10.14",
"network": "mynetwork",
"uid": "59349874-2e2a-4c51-b864-2782a3a489af"
}
],
"vrf": {
"name": "myvrf"
}
}
],
"volumes": [
{
"name": "string",
"encrypted": true,
"location": "string"
}
],
"limits": {
"cpuMax": 0,
"memMax": 0,
"memHigh": 0,
"ioRbps": 0,
"ioWbps": 0,
"ioRiops": 0,
"ioWiops": 0
}
},
"vpn": {
"networks": [
{
"id": 0,
"name": "string",
"ip": "string",
"interfaces": [
{
"name": "string",
"inDefaultRoute": true,
"outDefaultRoute": true,
"insideNats": [
{}
],
"outsideNats": [
{}
]
}
],
"routes": [
{
"node": "string",
"networkCidr": "string",
"metric": 0,
"path": "string",
"description": "string"
}
],
"services": [
{
"name": "string",
"ip": "string",
"port": 0
}
],
"dns": {
"enabled": true,
"upstream": [
"string"
]
}
}
]
},
"network": {
"interfaces": [
{
"nic": "string",
"vrf": "string",
"virtual": true,
"dhcp": true,
"ip": "string",
"subnet": "string",
"gateway": "string",
"dns": [
"string"
],
"mtu": 0,
"duplex": "string",
"speed": 0,
"mode": "auto",
"description": "string",
"subInterfaces": [
{
"vlanID": 0,
"vrf": "string",
"ip": "string",
"description": "string"
}
],
"routes": [
{
"route": "string",
"next": "string",
"description": "string"
}
]
}
],
"tunnels": [
{
"type": "ipsec",
"name": "string",
"enabled": true,
"description": "string",
"ip": "string",
"vrf": "string",
"mtu": 0,
"destination": "string",
"networkId": 0,
"publicKey": "string",
"presharedKey": "string",
"ike": 0,
"ikeCipher": "string",
"ikeGroup": 0,
"ipsecCipher": "string",
"psk": "string",
"localId": "string",
"remoteId": "string",
"localSubnet": "string",
"remoteSubnet": "string",
"pfs": 0,
"dpdInterval": 0,
"dpdRetries": 0,
"rekeyInterval": 0,
"replayWindow": 0,
"auto": "add"
}
],
"routes": [
{
"uid": "string",
"dest": "string",
"via": "string",
"dev": "string",
"metric": 0,
"description": "string"
}
],
"nats": [
{
"uid": "string",
"source": "string",
"dest": "string",
"toSource": "string",
"toDest": "string",
"masquerade": true,
"description": "string"
}
],
"acls": [
{
"uid": "string",
"line": 0,
"protocol": "string",
"source": "string",
"dest": "string",
"ports": "string",
"action": "string",
"description": "string"
}
],
"rules": [
{
"uid": "string",
"line": 0,
"in": "string",
"iface": "string",
"vrf": "string",
"protocol": "string",
"source": "string",
"dest": "string",
"ports": "string",
"action": "string",
"snat": true,
"dnat": "string",
"dmac": "string",
"description": "string"
}
],
"vrfs": [
{
"name": "string",
"description": "string",
"forwarding": true,
"routes": [
{}
],
"nats": [
{}
],
"acls": [
{}
],
"rules": [
{}
]
}
],
"darkMode": true,
"forwarding": true,
"bridgeCIDR": "string"
},
"services": {
"enabled": true,
"version": 2,
"items": {
"property1": {
"name": "gw-http",
"protocol": "tcp",
"port": 5000,
"host": "192.168.200.62",
"enabled": true,
"sourceInterface": "ens192",
"sourceFromClusterIP": true
},
"property2": {
"name": "gw-http",
"protocol": "tcp",
"port": 5000,
"host": "192.168.200.62",
"enabled": true,
"sourceInterface": "ens192",
"sourceFromClusterIP": true
}
},
"services": [
{
"name": "gw-http",
"protocol": "tcp",
"port": 5000,
"host": "192.168.200.62",
"enabled": true,
"sourceInterface": "ens192",
"sourceFromClusterIP": true
}
]
},
"connectors": {
"enabled": true,
"version": 2,
"items": {
"property1": {
"description": "My connector",
"enabled": true,
"localIp": "100.100.64.1",
"maxmbps": 100,
"nic": "eth0",
"node": "node1",
"port": 1234,
"index": 1,
"protocol": "tcp",
"service": "ssh"
},
"property2": {
"description": "My connector",
"enabled": true,
"localIp": "100.100.64.1",
"maxmbps": 100,
"nic": "eth0",
"node": "node1",
"port": 1234,
"index": 1,
"protocol": "tcp",
"service": "ssh"
}
},
"connectors": [
{
"description": "My connector",
"enabled": true,
"localIp": "100.100.64.1",
"maxmbps": 100,
"nic": "eth0",
"node": "node1",
"port": 1234,
"index": 1,
"protocol": "tcp",
"service": "ssh"
}
]
},
"apigw": {},
"core": {}
},
"domain": "string",
"fqdn": "string",
"health": "healthy",
"mode": "autoFailback",
"name": "string",
"org": "string",
"tags": {
"property1": "string",
"property2": "string"
},
"tgTags": {
"property1": "string",
"property2": "string"
},
"tgrn": "tgrn:tg::nodes:cluster/mycluster.myorg.trustgrid.io",
"created_at": 0,
"lifecycleState": "pre-production"
}'